package com.csl.jsonpreference.tag;


import com.csl.jsonpreference.bean.ConfigTYPE;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})//, ElementType.TYPE})
public @interface JsonConfig {
//    String value() default "";
    String key() default "";
    String title() default "";
    String describe() default "";
    /** 显示的值, &key 可以作为转义*/
    String valueStr() default "";
    ConfigTYPE type() default ConfigTYPE.AUTO;
    int index() default Integer.MAX_VALUE;
    String[] values() default {};
    /** List因为类型擦除导致无法判断到类型, 故需要单独设置类型*/
    java.lang.Class<?> listType() default String.class;
}
